package com.example.projecth.medicalcheckup;




import com.example.projecth.R;

import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

public class BodyAge_Fragment extends Fragment {

	private ViewPager pager;

	private View[] views = new View[2];
	
	private CheckBox[] checkBoxes = new CheckBox[10];

	private int checkCount;

	private Button age_start;
	
	private TextView age_result;
	
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View view = inflater.inflate(R.layout.mc_bodycontainer, container, false);
		
		views[0] = inflater.inflate(R.layout.mc_bodyview1, container, false);
		views[1] = inflater.inflate(R.layout.mc_bodyview2, container, false);
				
		checkBoxes[0] = (CheckBox) views[0].findViewById(R.id.check1);
		checkBoxes[1] = (CheckBox) views[0].findViewById(R.id.check2);
		checkBoxes[2] = (CheckBox) views[0].findViewById(R.id.check3);
		checkBoxes[3] = (CheckBox) views[0].findViewById(R.id.check4);
		checkBoxes[4] = (CheckBox) views[0].findViewById(R.id.check5);

		checkBoxes[5] = (CheckBox) views[1].findViewById(R.id.check6);
		checkBoxes[6] = (CheckBox) views[1].findViewById(R.id.check7);
		checkBoxes[7] = (CheckBox) views[1].findViewById(R.id.check8);
		checkBoxes[8] = (CheckBox) views[1].findViewById(R.id.check9);
		checkBoxes[9] = (CheckBox) views[1].findViewById(R.id.check10);

		age_start = (Button) views[1].findViewById(R.id.age_start);
		age_start.setOnClickListener(listener);
		
		pager = (ViewPager) view.findViewById(R.id.pager);
		pager.setAdapter(new MyPagerAdapter(getActivity()));				
		
		return view;
	}
	
	@Override
	public void onResume() {
		MainActivity.mp[1].start();
		super.onResume();
	}
	
	@Override
	public void onPause() {
		MainActivity.mp[1].pause();
		super.onPause();
	}
	
	
	private void showResult() {		
		
		LayoutInflater inflater = getActivity().getLayoutInflater();
		View view = inflater.inflate(R.layout.mc_bodyresult, null);
		
		TextView result = (TextView)view.findViewById(R.id.age_result);
		
		AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
		builder.setTitle("당신의 신체나이는!?")
			   .setMessage("신체나이가 실제나이보다 많다면")
			   .setView(view)
			   .setNegativeButton("확인", null)
			   .show();
		
		for (int i = 0; i < checkBoxes.length; i++) {
			if (checkBoxes[i].isChecked()) {
				checkCount++;					
			}				
		}	
			
		if(checkCount <= 1) {// 0~1일때
			result.setText("\n\t당신의 신체나이는 60대 입니다!!\n\t\n\t환갑잔치 하셔야겠어요.\n\t몸관리를 얼마나 안했으면...\n");			
		} else if (checkCount >= 2 && checkCount < 4 ) {// 2~3일때
			result.setText("\n\t당신의 신체나이는 50대 입니다!!\n\t당신의 정체는 나무늘보?\n\t너무 안 움직이고 사셨네요.\n\t움직일 때마다 으드득~ 소리가 나는 건 아니세요?\n");
		} else if (checkCount >= 4 && checkCount < 6 ) {// 4~5일떄
			result.setText("\n\t당신의 신체나이는 40대 입니다!!\n\t요즘 몸을 너무 아끼셨죠?\n\n\t당신의 원래 나이보다 높게 나왔다면\n\t당신의 게으름을 반성 하세요!\n");
		} else if (checkCount >= 6 && checkCount < 8 ) {// 6~7일때			
			result.setText("\n\t당신의 신체나이는 30대 입니다!!\n\t조금만 더 신경 쓰면 청춘을 되찾을 수 있습니다.\n\t운동을 시작해보는 것은 어떨까요?\n");					
		} else if (checkCount >= 8 && checkCount <= 10 ) {// 8~10일때
			result.setText("\n\t당신의 신체나이는 20대 입니다!!\n\t당신의 신체는 아직 한창 때군요.\n\t청춘이 빛나는 시기입니다.\n");
		}
			
		
		
	}
	
	
	private OnClickListener listener = new OnClickListener() {

		@Override
		public void onClick(View v) {	
			checkCount = 0;
			showResult();
						
		}
	};

	class MyPagerAdapter extends PagerAdapter {

		Context context;
		LayoutInflater inflater;

		public MyPagerAdapter() {
		}

		public MyPagerAdapter(Context context) {
			this.context = context;
			inflater = LayoutInflater.from(context);
		}

		@Override
		public int getCount() {
			return views.length;
		}

		@Override
		// instantiateItem에서 생성한 객체를 이용할 것인지 여부를 반환
		public boolean isViewFromObject(View v, Object obj) {
			return (v == obj);
		}

		@Override
		public Object instantiateItem(ViewGroup container, int position) {
			if (views[position] == null) {
				switch (position) {
				case 0:
					views[0] = inflater.inflate(R.layout.mc_bodyview1, null);
					break;
				case 1:
					views[1] = inflater.inflate(R.layout.mc_bodyview2, null);
					break;
				}
			}
			container.addView(views[position]);// 컨테이너에 뷰 추가
			return views[position];
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			container.removeView((View) object);
		}

	}
	
	

}
